home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / util / EnumSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.6 KB  |  160 lines

  1. package java.util;
  2.  
  3. import java.io.Serializable;
  4. import sun.misc.SharedSecrets;
  5.  
  6. public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> implements Cloneable, Serializable {
  7.    final Class<E> elementType;
  8.    final Enum[] universe;
  9.    private static Enum[] ZERO_LENGTH_ENUM_ARRAY = new Enum[0];
  10.  
  11.    EnumSet(Class<E> var1, Enum[] var2) {
  12.       this.elementType = var1;
  13.       this.universe = var2;
  14.    }
  15.  
  16.    public static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> var0) {
  17.       Enum[] var1 = getUniverse(var0);
  18.       if (var1 == null) {
  19.          throw new ClassCastException(var0 + " not an enum");
  20.       } else {
  21.          return (EnumSet<E>)(var1.length <= 64 ? new RegularEnumSet(var0, var1) : new JumboEnumSet(var0, var1));
  22.       }
  23.    }
  24.  
  25.    public static <E extends Enum<E>> EnumSet<E> allOf(Class<E> var0) {
  26.       EnumSet var1 = noneOf(var0);
  27.       var1.addAll();
  28.       return var1;
  29.    }
  30.  
  31.    abstract void addAll();
  32.  
  33.    public static <E extends Enum<E>> EnumSet<E> copyOf(EnumSet<E> var0) {
  34.       return var0.clone();
  35.    }
  36.  
  37.    public static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> var0) {
  38.       if (var0 instanceof EnumSet) {
  39.          return ((EnumSet)var0).clone();
  40.       } else if (var0.isEmpty()) {
  41.          throw new IllegalArgumentException("Collection is empty");
  42.       } else {
  43.          Iterator var1 = var0.iterator();
  44.          Enum var2 = (Enum)var1.next();
  45.          EnumSet var3 = method_0(var2);
  46.  
  47.          while(var1.hasNext()) {
  48.             var3.add(var1.next());
  49.          }
  50.  
  51.          return var3;
  52.       }
  53.    }
  54.  
  55.    public static <E extends Enum<E>> EnumSet<E> complementOf(EnumSet<E> var0) {
  56.       EnumSet var1 = copyOf(var0);
  57.       var1.complement();
  58.       return var1;
  59.    }
  60.  
  61.    // $FF: renamed from: of (java.lang.Enum) java.util.EnumSet
  62.    public static <E extends Enum<E>> EnumSet<E> method_0(E var0) {
  63.       EnumSet var1 = noneOf(var0.getDeclaringClass());
  64.       var1.add(var0);
  65.       return var1;
  66.    }
  67.  
  68.    // $FF: renamed from: of (java.lang.Enum, java.lang.Enum) java.util.EnumSet
  69.    public static <E extends Enum<E>> EnumSet<E> method_1(E var0, E var1) {
  70.       EnumSet var2 = noneOf(var0.getDeclaringClass());
  71.       var2.add(var0);
  72.       var2.add(var1);
  73.       return var2;
  74.    }
  75.  
  76.    // $FF: renamed from: of (java.lang.Enum, java.lang.Enum, java.lang.Enum) java.util.EnumSet
  77.    public static <E extends Enum<E>> EnumSet<E> method_2(E var0, E var1, E var2) {
  78.       EnumSet var3 = noneOf(var0.getDeclaringClass());
  79.       var3.add(var0);
  80.       var3.add(var1);
  81.       var3.add(var2);
  82.       return var3;
  83.    }
  84.  
  85.    // $FF: renamed from: of (java.lang.Enum, java.lang.Enum, java.lang.Enum, java.lang.Enum) java.util.EnumSet
  86.    public static <E extends Enum<E>> EnumSet<E> method_3(E var0, E var1, E var2, E var3) {
  87.       EnumSet var4 = noneOf(var0.getDeclaringClass());
  88.       var4.add(var0);
  89.       var4.add(var1);
  90.       var4.add(var2);
  91.       var4.add(var3);
  92.       return var4;
  93.    }
  94.  
  95.    // $FF: renamed from: of (java.lang.Enum, java.lang.Enum, java.lang.Enum, java.lang.Enum, java.lang.Enum) java.util.EnumSet
  96.    public static <E extends Enum<E>> EnumSet<E> method_4(E var0, E var1, E var2, E var3, E var4) {
  97.       EnumSet var5 = noneOf(var0.getDeclaringClass());
  98.       var5.add(var0);
  99.       var5.add(var1);
  100.       var5.add(var2);
  101.       var5.add(var3);
  102.       var5.add(var4);
  103.       return var5;
  104.    }
  105.  
  106.    // $FF: renamed from: of (java.lang.Enum, java.lang.Enum[]) java.util.EnumSet
  107.    public static <E extends Enum<E>> EnumSet<E> method_5(E var0, E... var1) {
  108.       EnumSet var2 = noneOf(var0.getDeclaringClass());
  109.       var2.add(var0);
  110.  
  111.       for(Enum var6 : var1) {
  112.          var2.add(var6);
  113.       }
  114.  
  115.       return var2;
  116.    }
  117.  
  118.    public static <E extends Enum<E>> EnumSet<E> range(E var0, E var1) {
  119.       if (var0.compareTo(var1) > 0) {
  120.          throw new IllegalArgumentException(var0 + " > " + var1);
  121.       } else {
  122.          EnumSet var2 = noneOf(var0.getDeclaringClass());
  123.          var2.addRange(var0, var1);
  124.          return var2;
  125.       }
  126.    }
  127.  
  128.    abstract void addRange(E var1, E var2);
  129.  
  130.    public EnumSet<E> clone() {
  131.       try {
  132.          return (EnumSet)super.clone();
  133.       } catch (CloneNotSupportedException var2) {
  134.          throw new AssertionError(var2);
  135.       }
  136.    }
  137.  
  138.    abstract void complement();
  139.  
  140.    final void typeCheck(E var1) {
  141.       Class var2 = var1.getClass();
  142.       if (var2 != this.elementType && var2.getSuperclass() != this.elementType) {
  143.          throw new ClassCastException(var2 + " != " + this.elementType);
  144.       }
  145.    }
  146.  
  147.    private static <E extends Enum<E>> E[] getUniverse(Class<E> var0) {
  148.       return (E[])SharedSecrets.getJavaLangAccess().getEnumConstantsShared(var0);
  149.    }
  150.  
  151.    Object writeReplace() {
  152.       return new SerializationProxy(this);
  153.    }
  154.  
  155.    // $FF: synthetic method
  156.    static Enum[] access$000() {
  157.       return ZERO_LENGTH_ENUM_ARRAY;
  158.    }
  159. }
  160.